package com.ssy.jt808.gateway.client.media.constant;

import com.ssy.gaea.common.exception.UnknownEnumException;

/**
 * 设备的媒体通讯模式
 *
 * @author zeno
 */
public enum MediaModeEnum{

  /** 音视频 */
  AudioVideo(0),
  /** 视频 */
  Video(1),
  /** 双向对讲 */
  TwoWayTalk(2),
  /** 监听 */
  Monitor(3),
  /** 中心广播 */
  CentralBroadcast(4),
  /** 透传 */
  Transport(5);

  MediaModeEnum( int value ){
    this.value = value;
  }

  /** 枚举状态值 */
  private final int value;

  /**
   * 获取枚举状态值
   *
   * @return 枚举状态值
   */
  public int value(){
    return value;
  }

  /**
   * 根据 状态值 获取枚举对象
   *
   * @param value 状态值
   *
   * @return 枚举对象
   */
  public static MediaModeEnum of( int value ){

    for(MediaModeEnum e : MediaModeEnum.values()){
      if( e.value == value ){
        return e;
      }
    }

    throw new UnknownEnumException(value, MediaModeEnum.class);
  }
}
